Pseudorandom object placement in higher dimensions in an augmented or virtual environment

ABSTRACT

A system and method are disclosed for allowing a plurality of augmented and/or virtual reality users to interact with higher dimensional virtual or augmented environment models in which a plurality of objects are placed throughout in a pseudorandom fashion. The placed plurality of objects are subsequently assigned values either in a predetermined or real time manner. The system and method enable security countermeasures, thereby protecting the higher dimensional environmental model from malicious users.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is continuation of copending U.S. Non-Provisionalpatent application Ser. No. 17/686,936 filed Mar. 4, 2022, which, inturn, is a continuation of U.S. Non-Provisional patent application Ser.No. 17/381,683 filed Jul. 21, 2021, now U.S. Pat. No. 11,270,011, whichis incorporated by reference herein.

This application claims priority to U.S. Provisional Patent ApplicationNo. 63/103,288 filed Jul. 28, 2020, which is incorporated by referenceherein.

BACKGROUND OF THE INVENTION

The present invention relates to a system and method for allowing aplurality of users to interact with two or three dimensional virtual oraugmented environments in which a plurality of objects are placedthroughout in a pseudorandom fashion. Ideally, the inherent aspects ofthis invention also enable security countermeasures, thereby protectingthe two or three dimensional virtual or augmented environment frommalicious users.

The design and use of Virtual Reality (VR) systems is a rapidly growingfield of computer science. The object of a “virtual reality system” isto give users the ability to explore environments that exist only asmodels in the memory of a computer. These environments may be models ofthe real world (e.g., streets of Las Vegas, the interior of a casino,Disney World, the valley of the Grand Canyon), or they may berepresentations of purely imaginary worlds (e.g., Harry Potter, Game ofThrones), or worlds inaccessible by human beings (e.g., the interiors ofmolecules, the center of our galaxy, the bottom of the ocean).

The Virtual Reality (VR) industry started by providing devices formedical, flight simulation, automobile industry design, and militarytraining purposes circa 1970. The 1990s saw the first widespreadcommercial releases of consumer headsets—e.g., in 1991, Sega announcedthe Sega VR headset for arcade games and the Mega Drive console. By 2016there were at least 230 companies developing VR related products.Facebook currently has around 400 employees focused on VR development;Google, Apple, Amazon, Microsoft, Sony, and Samsung all have dedicatedVR and Augmented Reality (AR) groups.

The first commercial AR experiences were largely in the entertainmentand gaming businesses, but now other industries are also developing ARapplications—e.g., knowledge sharing, educating, managing information,organizing distant meetings, telemedicine. Augmented reality is alsotransforming the world of education, where content may be accessed byscanning or viewing an image with a mobile device. Probably the mostpopular example of AR is the game “Pokémon Go”, which was released tothe public in July of 2016.

Pokémon Go was a 2016 AR mobile game developed and published by Nianticin collaboration with The Pokémon Company for iOS (i.e., Apple) andAndroid devices. It uses the mobile device Global Positioning System(“GPS”) to locate, capture, battle, and train virtual creatures, calledPokémon, that appear as if they are in the player's real worldgeographical location. Objects on the map include “PokéStops” and“Pokémon Gyms” typically located at real world geographical places ofinterest. Thus, with the game Pokémon Go various virtual objects (e.g.,PokéStops, Pokémon Gyms) were placed predetermined in a ThreeDimensional (“3D”) environment—i.e., real world geographical locations.Pokémon Go was credited with popularizing location-based and ARtechnology, promoting physical activity, and helping local businessesgrow due to increased foot traffic. However, the Pokémon Go 3Dreal-world virtual object placement was far from optimal withnon-optimal heterogeneous distribution of virtual objects being placedat dangerous, improper, or inconvenient locations—e.g., the KoreanDemilitarized Zone (DMZ), train tracks, roads, Hiroshima Memorial park,the Holocaust Museum, Bosnian minefields. Additionally, the securitylevel of the game (though typical for a “play for fun” type game) wouldbe inadequate for games offering monetary awards or prizes with theUnited States (US) Department of Defense (DoD) restricting the use ofthe game on their property (e.g., the Pentagon), citing security risksof collecting secret information.

Most of the problems associated with Pokémon Go arise from thesurprising fact that it is very difficult to randomly or pseudorandomlydistribute objects in a secure manner in any higher dimensional space.This problem becomes compounded when various monetary prizes aredistributed in two or more dimensions. When attempting to pseudorandomlydistribute prizes, the aggregate of all winning outcomes in any prizedistribution is a predetermined percentage payout of the total revenuesthat would be generated by the sale incorporating the particularpseudorandomized prize distribution.

For example, lottery instant (scratch-off) tickets employ a pseudorandomprize distribution over essentially a one dimensional space consistingof sequentially numbered instant paper tickets. These outcomes arecreated using essentially similar methodologies throughout the industry.For example, a run of 24 million tickets that has 120 top prize payoutsof $10,000 and a payout percentage of 55%, may be broken up into 100pools of 240,000 tickets each. The $10,000 winners will be distributedas evenly as possible among the 100 pools, so there will be at least onetop prize in each pool, with 20 pools having two top prizes. The 80pools without the two top prizes will be compensated by offering morelow and mid-tier prizes, so that the payout percentage is exactly 55%for each 240,000 ticket pool. Each of these 240,000 ticket pools wouldbe further broken up into packs of tickets, typically 200 to 400 ticketsper pack. Thus, the set of all instant tickets printed from seral number“1” to “n” essentially form a one dimensional line with pseudorandomprize distribution spread along the line in a more-or-less heterogeneousfashion.

Some lotteries place restrictions on the distribution of outcomes,including limits on the number of high tier winners per pack; how manyconsecutive non-winning tickets x% of the time; and the maximum numberof non-winning tickets per print run. In arranging the game press run,the lottery authority and designated contractor decides how many ticketsare to be sold, the prize fund or payback percentage of the game as awhole, and what prizes will be awarded and the frequency of winningtickets among the total number of tickets. For example, assume a lotterywanted to sell a total of twenty tickets and have a payout percentagefor the game of 50% with each ticket selling for $1. In this example,the prize distribution outcome might consist of one $5 winner, one $2winner, and three $1 winners and may be represented as: “5, 2, 1, 1, 1,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.” Note that, as previouslydescribed, the finite series of win or lose outcomes is a sequential onedimensional series of tickets that is completely deterministic. There isno randomness at all. Of course, the lottery does not want to have thefirst five tickets sold to be winners, so the tickets are shuffled toachieve a pseudorandomized order for printing the tickets. In thisexample, the pseudorandomized resulting printing sequence might looklike the following: “0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 5, 0, 0, 0, 0, 1, 0,0, 0, 1.” As tickets are purchased by consumers, they are removed fromthe sequence of outcomes. From the above set of outcomes, a consumerpurchasing four tickets might buy four losing tickets—“0, 0, 0, 0.” Ifthe next consumer purchased three tickets, he or she may get “0,1,0.”Thenext three tickets sold might be “2,0,0.” This process continues untilthe entire sequence of outcomes (twenty in this example) is exhausted.

Therefore, even for a simple one dimensional instant ticket pseudorandomprize distribution, it can be appreciated that the complexity ofpseudorandomly arranging a heterogeneous appearing series of winning andlosing outcomes is remarkably complex. This complexity literally growsexponentially as pseudorandom prize distributions are extended to higherdimensional spaces. Furthermore, when increasing the number ofdimensions for a pseudorandom prize distribution unexpected correlationscan be inadvertently generated that can make the distribution appearhomogeneous or worse—predictable.

For example, an “Ulam spiral” or “prime spiral” is a graphical depictionof the set of prime numbers, devised by mathematician Stanislaw Ulam in1963 constructed by writing the positive integers in a square spiral andspecially marking the prime numbers. FIG. 1A provides an exemplaryillustration of an “Ulam spiral” or “prime spiral” exhibiting how bysimply rearranging the one dimensional line of the positive integersinto a two dimensional spiral arrangement on a square lattice 100 astriking appearance in the resulting spiral of prominent diagonal,horizontal, and vertical lines containing large numbers of primesbecomes evident 101. Thus, even though there is no known formula forseparating prime numbers from composite numbers certain patterns canbecome surprisingly apparent, simply by rearranging a one dimensionalline of the positive integers into a two dimensional spiral arrangementon a square lattice 101. In FIG. 1B a 200×200 Ulam spiral is illustratedwhere black dots represent prime numbers 105. In FIG. 1B diagonal linesare clearly visible, confirming that the pattern continues. Horizontaland vertical lines with a high density of primes, while less prominent,are also evident. In contrast, FIG. 1C illustrates a similarlyconstructed spiral 110 (i.e., at the same density of primes in a 200×200spiral) with random odd numbers colored black with far fewer linecorrelations. Again, seemingly pseudorandom distributed one dimensionaldata (i.e., prime numbers) appears predictable when simply arranged in ahigher (i.e., second) dimension.

Another real world example of elevating seemingly random numberselection to higher dimensions revealing unforeseen correlations andpredictabilities was inadvertently discovered by International BusinessMachine (“IBM”) corporation in the 1960's when the company implementedits pseudorandom RANDU function as part of its standard softwarepackage. The IBM RANDU function essentially multiplied each givennon-random input number by a large multiplier “K” (K=65,539 in the RANDUfunction), then divided the answer by another number “M”(M=2,147,483,648 in the RANDU function) and kept the remainder as thepseudorandom output. The problem was not only that this methodology forgenerating pseudorandom numbers is fundamentally flawed (i.e., usingthis methodology, any sequence of “pseudorandom” output numbers wouldtheoretically line up on a graph; though, depending on the selection ofK and M the aligning graph may be very complicated with upwards of tendimensions possible); however, the function with the RANDU thisfundamental problem was compounded by IBM's choice of the values for Kand M. Particularly, IBM's choice for the value of K was only three morethan a power of two (i.e., 65,539=2¹⁶+3) when that value was combinedwith a modulus M, which was a power of two (i.e., 2,147,483,648=2³¹) theRANDU function's “pseudorandom” output became non-random and furthermoreorganized and consequently predictable.

For example, FIG. 1D provides a three-dimensional graph 120 generated byWikipedia's Luis Sanchez of the IBM RANDU function plotting 100,000“pseudorandom” (i.e., x, y and z) output values with each pointrepresenting three consecutive pseudorandom values—i.e., x, y and z.From a cursory observation, it is clearly evident that all of the RANDU“pseudorandom” points fall in one of fifteen two-dimensionalplanes—e.g., 121. Consequently, since all IBM RANDU “pseudorandom”output numbers fall into fifteen neat planes when plotted into threedimensions, utilizing IBM's RANDU “pseudorandom” outputs for any type ofVR or AR three dimensional model's pseudorandom placement of virtualobjects would be predictable and consequently unacceptable, especiallyfor pseudorandomly placing prizes of monetary value. For example, if theIBM RANDU function were utilized to determine the hiding place of prizesin a virtual three dimensional environment mapped in a virtual x, y, andz grid space, all of the prizes would literally be located in thefifteen planes 121 illustrated 120 in FIG. 1D.

Some attempts to mitigate the problem of distribution of objects inhigher dimensions have been attempted, most notably U.S. Pat. Nos.6,054,991 (Crane et al.) and 8,869,292 (Eluard et al.); and U.S. PatentApplication Publication No 2008/0030429 (Hailpern et al.) However, Craneet al. primarily discloses modeling the relative position and movementof objects in a simulated three dimensional virtual reality environmentand does not address the problem of pseudorandomly distributing theobjects in the environment. The disclosure of Eluard et al. concernspassing “protected devices” in a three dimensional environment from oneuser to another and again does not address the problem of pseudorandomlydistributing the objects in the environment. Finally, the Hailpern etal. disclosure primarily concerns “. . . placing a user in a knownenvironment; acquiring a video image from a perspective such that afield of view of the video camera simulates the user's line of sight;tracking the user's location, rotation and line of sight; filtering thevideo image to remove video data associated with the known environmentwithout effecting video data associated with the user; overlaying thevideo image after filtering onto a virtual image with respect to theuser's location to generate a composite image; and displaying thecomposite image in real time at a head mounted display” (Abstract) andagain does not address the problem of pseudorandomly distributing theobjects in the environment.

It is therefore highly desirable to develop techniques and methodologiesfor ensuring pseudorandom distributions and placement of objects inhigher dimensions. Ideally, these pseudorandom distribution mechanismswould also provide added security against nefarious persons attemptingto compromise the integrity of the system. The present inventionessentially eliminates or solves problems of ensuring pseudorandomdistributions of objects in higher dimensions while also providing thesedesired security countermeasures.

SUMMARY OF THE INVENTION

A general aspect of the present invention relates to assigning flaggedlocations in a defined two or three dimensional environmental model.These two or three dimensional environmental models may be models of thereal world (e.g., streets of Las Vegas, the interior of a casino, DisneyWorld, the valley of the Grand Canyon), or they may be representationsof purely imaginary worlds (e.g., Harry Potter, Game of Thrones) orworlds inaccessible by human beings (e.g., the interiors of molecules,the center of our galaxy, the bottom of the ocean). Regardless of thetype of two or three dimensional environmental model, with this generalembodiment an automated process analyzes the given two or threedimensional environmental model flagging potential locations for futureobject placement. This automated process generates a plurality offlagged locations based on distribution criteria, randomized inputs, andenvironmental terrain resulting in an output pseudorandom distributionof flagged locations that conform to a priori rules and guidelines.

In an optional preferred specific embodiment of this general aspect, apreamble process analysis of the environmental terrain is conductedwhere various “Keep Out Areas” or “KOAs” are established before theautomated process flags potential locations, thereby ensuring that noflagged location will appear in a KOA. The KOAs are automaticallygenerated based on a priori rules specific to the two orthree-dimensional environmental model being analyzed. For example, in areal world Augmented Reality (AR) environmental model, where consumersare interacting with the model in the real world, potentially hazardousor sensitive areas could be defined as KOAs—e.g., KOAs defined forthirty feet on either side of a highway or train track, KOAs defined forfive hundred feet on either side a state or country border, KOAs definedfor a three hundred feet radius around a monument or memorial.Additionally, optional “Desirable Areas” or “DAs” where it is preferableto designate a flagged area may also be incorporated as part of thepreamble analysis—e.g., a store paying for foot traffic to increasepromotions. The preamble generated KOAs and DAs thereby overcoming manyof the non-optimal distributions of prior art (e.g., Pokémon Go having aPokémon Gym in the North and South Korea DMZ) while possibly enhancingthe interactive experience.

Once the general embodiment's first automated process assigns flaggedlocations to the given two or three dimensional environmental model, asecond automated process assigns objects of varying value to each of theflagged locations as part of the general embodiment. Notice that byflagging the location with one process and assigning objects of value ina second sequential process each flagged location will be entirelyindependent of the value assigned to the location, thereby reducing thepossibility that an object's location could function as a tell ordisclosure for a hidden value. Additionally, the assignment of objectsof value as a secondary process after locations have been flagged allowsfor the optional possibility of balancing prize distributions across twoand three dimensional locations while enhancing security. Finally, thetwo step process first determines the flagged locations and thendetermines which (if any) objects of value are placed in the flaggedlocations, independently enabling either real time assignment of objectvalue for predetermined flagged locations as game play commences orassignment of predetermined flagged locations and object values beforegame play commences.

In one embodiment, the value of objects may be assigned to flaggedlocations in real time as they are discovered by a Random NumberGenerator (RNG) or a Pseudo Random Number Generator (PRNG). Thisembodiment having the advantages of simplicity and reasonably highsecurity with the disadvantages of non-optimal value distribution (e.g.,highly populated or frequented model areas may receive adisproportionate allocation of prize values due to the higher number ofattempts than lower populated or less frequented areas) as well aspossible feedback loops being established via social media or othercommunications (e.g., consumers bragging that they won “x” prize atlocation “y”) again due to highly frequented areas.

In another preferred embodiment, the values of objects are assigned inadvance via a separate process that attempts to balance the outcome ofprice payouts to a long term Expected Value (EV) for consumer selectionof objects within the two or three dimensional environmental model, suchthat the consumer EV is maintained over any reasonable object selectiondistribution—e.g., evaluate the distribution of outcomes, include limitson the number of high tier winners per area, assess how many consecutivenon-winning objects may be placed adjacent to each other, etc. Thispreferred embodiment having the advantages of a more balanced prizedistribution for the consumer via forced heterogeneous valuedistribution over the two or three dimensions and possibly greaterenvironmental model longevity with the disadvantages of potentiallylesser security and greater complexity.

In yet another embodiment, validation codes are assigned and embeddedwith each object at a flagged location, thereby providing a pointer to aseparate value or prize code lookup table to determine the actual valueof the object at the location. In a first specific embodiment, thevalidation codes are encrypted preferably with a key generated by acombination of the linked flagged location the object was assigned toand other ancillary data—e.g., a Cyclic Redundancy Code or “CRC” of thecleartext validation code, separate keys per areas or pools, etc. In asecond specific embodiment, some validation codes (e.g., high tiervalidation codes) become processing flags triggering a real time RNG orTRNG drawing, where the ultimate prize awarded is determined by theoutcome of the RNG or TRNG drawing. This second specific embodimenthaving the advantages or potentially higher security and the option tooffer a potentially higher prize value (e.g., one billion dollars) thatmay be financed by an insurance policy depending on the outcome of theRNG or TRNG drawing with the disadvantage of greater complexity.

In all of these embodiments, objects of varying value are assigned toflagged locations. The essential concept of the invention is to providea reliable heterogeneous appearing distribution of values for objectspseudorandomly distributed over two or higher dimensional space.

Objects and advantages of the invention will be set forth in part in thefollowing description, or may be apparent from the present description,or may be learned through practice of the invention. Described are anumber of value assignment mechanisms and methodologies that providepractical details for reliably and securely distributing objects ofvarying value over two or higher dimensional space thereby ensuring areliable heterogeneous appearing distribution. Although the examplesprovided herein are primarily related to AR and VR games, it is clearthat the same methods are applicable to any type of AR or VRapplication—e.g., pseudo randomization of faults in a VR training model,statistical modeling of virus spread over three dimensions.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description ofthe invention, will be better understood when read in conjunction withthe appended drawings. For the purpose of illustrating the invention,there are shown in the drawings embodiments which are presentlypreferred. It should be understood, however, that the invention is notlimited to the precise arrangements and instrumentalities shown. In thedrawings:

FIG. 1A is a first exemplary view of the prior art “Ulam spiral” or“prime spiral” highlighting the striking appearance in the spiral ofprominent diagonal, horizontal, and vertical lines containing largenumbers of primes;

FIG. 1B is a second exemplary view of the prior art “Ulam spiral”arranged in a 200×200 matrix where black dots represent prime numbers;

FIG. 1C is a comparison exemplary view of a similar constructed 200×200matrix populated with random numbers where every odd number is coloredblack;

FIG. 1D is an exemplary view of IBM's prior art RANDU function plotting100,000 “pseudorandom” output values in three dimensions;

FIG. 2A is an overall swim lane block diagram representative exampleproviding a schematic graphical overview of a general embodiment of thesystem associated with generating predetermined pseudorandomdistribution of objects in higher dimensions with regard to Keep OutAreas (KOAs) and Desirable Areas (DAs);

FIG. 2B is an overall logical state machine rendering representativeexample of the processes associated with the 2D/3D model and validationfile generation in accordance with the embodiment of FIG. 2A;

FIG. 2C is a representative example swim lane high level architecturediagram of the key components associated with the predeterminedpseudorandom distribution of objects in higher dimensions of the swimlane block diagram of FIG. 2A;

FIG. 2D is a specific block diagram representative example providing aschematic graphical overview of a general embodiment of the systemassociated with generating pseudorandom distribution of objects inhigher dimensions with at least some of the value assignments of thelocations defined in real time;

FIG. 3A is a three-dimensional projection of a portion of atopographical database as populated with the embodiments of FIGS. 2Athru 2D;

FIG. 3B is a three-dimensional environment of a portion of atopographical database of the Las Vegas Strip;

FIG. 3C is an exemplary database of Keep Out Areas (KOA) in accordancewith the embodiments of FIGS. 2A thru 2D and 3B;

FIG. 3D is a modified three-dimensional environment portion of thetopographical database of the Las Vegas Strip of FIG. 3B with the KOA ofFIG. 3C highlighted;

FIG. 3E is an exemplary database of Desirable Areas (DA) in accordancewith the embodiments of FIGS. 2A thru 2D and 3B;

FIG. 3F is a modified three-dimensional environment portion of thetopographical database of the Las Vegas Strip of FIG. 3B with the KOA ofFIG. 3C and the DA of FIG. 3E highlighted;

FIG. 3G is a modified three-dimensional environment portion of thetopographical database of the Las Vegas Strip of FIG. 3B illustratingvarious flagged areas; and

FIG. 3H is an exemplary flagged areas coordination with the Validationdatabase in accordance with the embodiments of FIGS. 2A thru 2D and 3G.

DETAILED DESCRIPTION OF THE INVENTION

Certain terminology is used herein for convenience only and is not to betaken as a limitation on the present invention. The words “a” and “an”,as used in the claims and in the corresponding portions of thespecification, mean “at least one.” The abbreviations “AR” and “VR”denote “Augmented Reality” and “Virtual Reality” respectively. AugmentedReality (AR) is an interactive experience of a real-world environmentwhose elements are “augmented” by computer-generated perceptualinformation. While definitions of AR vary depending on the application,in the context of this invention AR denotes constructive (i.e. additiveto the natural environment) overlaid visual and possibly audible sensoryinformation seamlessly interwoven into images of the real world.Examples of existing AR platforms are: Apple iPhones®, Android® phones,Google Glass, Microsoft HoloLens, etc. AR augmented computer-generatedperceptual information is referred to as “persistent digital objects”,or “overlay images”, or “visual digital image overlays” interchangeablythroughout the specification and claims. Virtual Reality (VR) is animmersive interactive computer-generated experience taking placecompletely within a simulated environment. VR as used in the claims andin the corresponding portions of the specification denotes completeimmersion into the computer-generated experience with no visual realworld environment admitted and may also include audio. Examples ofexisting VR platforms are: Oculus, Windows Mixed Reality, GoogleDaydream, SteamVR headsets such as the HTC Vive & Vive Pro, etc.

A “wager” or “bet” are used interchangeably in the claims and in thecorresponding portions of the specification means a gamble on predictingthe outcome of an event in the future. Additionally, the terms “user,”“player,” or “consumer” are also used interchangeably all referring to ahuman individual utilizing the invention. Furthermore, the terms higherdimensions” or “higher dimensional environment” are used interchangeablyin the claims and in the corresponding portions of the specification canmean “two dimensions”, three dimensions”, or more—e.g., a fourdimensional AR and/or VR environmental model may include three specialdimensions with the fourth dimension being a function of time. Finally,the term “Random Number Generator (RNG)” is used in the claims and inthe corresponding portions of the specification for brevity, with theterm “RNG” to be understood to mean all forms of random numbergeneration—e.g., True Random Number Generator (TRNG), Pseudo RandomNumber Generator (PRNG), Mersenne Twister algorithms, LinearCongruential Generators (LNGs), etc.

Preferred embodiments of the present invention use AR and/or VR devices(interchangeably referred to herein as “one or more of Augmented Reality(AR) or Virtual Reality (VR) devices.”

Reference will now be made in detail to examples of the presentinvention, one or more embodiments of which are illustrated in thefigures. Each example is provided by way of explanation of theinvention, and not as a limitation of the invention. For instance,features illustrated or described with respect to one embodiment may beused with another embodiment to yield still a further embodiment. It isintended that the present application encompass these and othermodifications and variations as come within the scope and spirit of theinvention.

Preferred embodiments of the present invention may be implemented asmethods, of which examples have been provided. The acts performed aspart of the methods may be ordered in any suitable way. Accordingly,embodiments may be constructed in which acts are performed in an orderdifferent than illustrated, which may include performing some actssimultaneously, even though such acts are shown as being sequentiallyperformed in illustrative embodiments.

FIGS. 2A thru 2E taken together, illustrate one general embodiment forpredetermined assignment of flagged locations and associated values to apredefined two or higher dimensional environmental model compatible withboth AR and VR applications. As illustrated in the swim lane flowcharts200, 250, and 250′ of FIGS. 2A, 2C, and 2D this general embodiments ofthe invention are conceptually divided into two groups (i.e., “FlaggingProcess” 201/251 and “Preamble Process” 202/252) by the two “swim lane”columns as shown in all three figures. If a particular flowchartfunction appears completely within a swim lane, its functionality islimited to the data category of the associated swim lane—e.g., KOADefinitions database 206 and 256 are exclusively part of the PreambleProcess 202 and 252. FIG. 2B illustrates the state machine 220associated with the embodiment 200 and 250 of FIGS. 2A and 2C.

FIG. 2E illustrates a specific alternative embodiment 275 for generatingpredetermined flagged locations with associated value assignmentsoccurring in real time. While it should be appreciated that thegeneration of predetermined flagged locations of the specificalternative embodiment 275 is identical to the general embodiment ofFIGS. 2A thru 2D, the subsequent assignment of values to encounteredflagged locations in real time is unique to alternative embodiment 275.

In the exemplary system 200 general embodiment of FIG. 2A, flaggedlocations are ultimately assigned 209 in a predetermined two or threedimensional model 212. The general embodiment swim lane 200 starts witha specified two or three dimensional (“2D/3D”) environment 203 (e.g.,the Las Vegas strip, Disney World, the fictional environment in the Gameof Thrones) where the layout and (optionally) elevation changes aremapped a priori in a dedicated Terrain database 204. The Terraindatabase 204 is comprised of a two or three dimensional map of theportions of the 2D/3D Environment 203 that are acceptable for flaggingand/or placement of objects. In a preferred embodiment, the Terraindatabase 204 map will include significant items present on the 2D/3DEnvironment 203 (e.g., bodies of water, highways, buildings, legalborders, named businesses) that include metadata for identifying theitems to the “Keep Out Areas” or “KOAs” 205 and “Desirable Areas” or“DAs” 207 mapping functions as well as the Flagging Function 209.Additionally, with three dimensional environments, the Terrain database204 will typically include terrain mapping with associated metadata.

Preferably, the Preamble Process 202 analysis is conducted utilizing thededicated Terrain database 204, where all portions of the 2D/3DEnvironment 203 are represented. The first portion of the PreambleProcess 202 analysis is to map where various “Keep Out Areas” or “KOAs”205 are before the Flagging Function 209 begins, thereby ensuring thatno flagged location will appear in a KOA. Primarily, the KOAs aregenerated 205 based on sets of a priori rules or definitions maintainedin a separate KOA database 206 specific to the 2D/3D Environment 203. Ina real world AR environmental model, where consumers are interactingwith the model in the real world, potentially hazardous or sensitiveareas could be defined as KOAs. The KOA a priori rules or definitionsmaintained in a separate KOA database 206 are preferably a series ofscript based rules and/or definitions triggering on specific 2D/3DEnvironment 203 areas as described in the Terrain database 204 metadata.For example, one KOA database 206 definition script might demarcate “aKOA for ten feet on either side of a metadata identified road or highwayas described in the Terrain database 204”, a second KOA database 206definition script might demarcate “a KOA for a one hundred foot circularradius centered around each metadata identified church as described inthe Terrain database 204”, a third three KOA database 206 definitionscript might demarcate a “three hundred feet radius centered around eachmetadata identified monument or memorial as described in the Terraindatabase 204”, etc. In other words, in this embodiment, the KOA database206 does not necessarily define specific KOA locations in the 2D/3DEnvironment 203, rather it can be configured with general rules ordefinitions that are automatically actuated by recognized items in theTerrain database 204, thereby defining the KOA geometric area(s) aroundthe identified items. This is not to infer that all KOA entries in theKOA database 206 are of an abstract script definition type, in somespecial embodiments specific a priori KOA rules may be established—e.g.,a KOA demarcated by a pentagon with the point coordinates 38.8897°−77.0089°, 38.38887° −77.0098°, 38.38877° −77.0092°, 38.38877°−77.0086°, and 38.38887° −77.0098°. Of course, as is apparent to oneskilled in the art, other types of KOA database entries are possible(e.g., KOA over any body of water, KOA above a certain elevation) thatmay be desirable under some circumstances. The significant concept beingto establish a KOA Definitions database 206 separate from the Terraindatabase 204 with the mapped KOAs 205 becoming simple defined areas inthe 2D/3D Environment 203—i.e., the identity or the reason that a givenarea was defined as a KOA is not recorded in the 2D/3D Environment 203,only the KOA area itself is saved. By maintaining separate KOA 206 andTerrain 204 databases global rules and/or definitions may be readilyimplemented, modified, and/or transferred from one Terrain database 204to another.

Returning to FIG. 2A, in addition to KOAs, optional “Desirable Areas” or“DAs” can be also added to the model where it is desirable to designateflagged areas as part of the preamble analysis—e.g., the location of astore paying for foot traffic to increase promotions. Similar to the KOADefinitions 206 database, the DA Definitions 208 is also maintained as aseparate database where DA rules and/or definitions are stored. The DADefinitions 208 database drives the DAs Mapped algorithm 207 enablingrecording of DAs in the 2D/3D Environment 203 with reference to theTerrain database 204. Primarily, the DA Definitions database 208 wouldtypically be structured with defined exact locations (e.g., the Bellagiohotel and casino on the Vegas Strip) rather than predominately scriptbased rules and/or definitions triggering on specific 2D/3DEnvironmental 203 areas. Of course, in some embodiments it may bedesirable to include script based rules and/or definitions (e.g., any“Quick Trip” convenience store, any public park) in the DA Definitions208 database. Regardless of the DA Definitions database 208 structure,the DA mapping function 207 would only record the DA area itself in the2D/3D Environment 203, similar in operation to the KOA mapping function207.

Once the Preamble Process 202 is concluded with the mapped KOAs 205 andDAs 207 identified and logged into the modified 2D/3D Environment 203the Flagging Process 201 will commence with the Flagging Function 209selecting, or flagging, actual locations in the 2D/3D Environment 203.The Flagging Function 209 accepts the Terrain 204, mapped KOA 205, andmapped DA 207 data and preferably utilizing outputs from a Random NumberGenerator (RNG) 211 to pseudorandomly assign flagged locationsthroughout the 2D/3D Environment 203. Primarily, this placement offlagged locations may be driven by a series of RNG 211 outputs defininglocations to be flagged in the 2D/3D Environment 203. For example,sequential RNG 211 outputs may be modulo added with an a priori modulusto ensure that the resultant number would equate to x/y orLatitude/Longitude values that are compatible with the area mapped bythe Terrain database 204. Preferably, when the Flagging Function 209receives a RNG 211 driven potential flagging location, each potentiallocation is compared relative to all previously mapped KOAs 205 todetermine if the candidate RNG 211 location falls within a KOA. If thecandidate RNG 211 location does fall within a KOA the candidate RNG 211location is rejected with a new candidate RNG 211 location generated,conversely if a candidate RNG 211 location does not fall within a KOA itbecomes a flagged location saved into the 2D/3D Environment 203. Thisprocess will repeat until an a priori number of flagged locations havebeen generated as defined by Distribution Criteria database 210.

After an a priori number of RNG 211 flagged locations have been assignedthat are all outside of any KOAs, the Flagging Function 209 will conductan optional preferred audit of the generated flagged locations todetermine if a sufficient number or percentage of the mapped DAs havebeen identified as flagged locations as defined by a priori data fromthe Distribution Criteria database 210. In the event that a sufficientnumber or percentage of the mapped DAs have been identified as flaggedlocations, this portion of the Flagging Function 209 will conclude.However, in the more likely event that an insufficient number orpercentage of the mapped DAs have been identified as flagged locations,additional DAs will be flagged (preferably using the output of the RNG211) until the Distribution Criteria database 210 requirements (i.e.,minimum DA requirements) have been satisfied. If the number ofadditional DAs flagged and general flagged locations exceed some apriori limit, general flagged locations will be deleted from the non-DAflagged areas until the limit is achieved. For the special case of whenthe Distribution Criteria database 210 specifies that all DAs in apredefined location (e.g., a store chain) must be flagged in thedatabase, then this special case DA flagging process will be completedprior to the above RNG 211 Flagging Process 201 commencing.

At this point an Audit 214 of the flagged locations will preferably beconducted to determine if the candidate locations are compatible withrules defined in the Distribution Criteria database 210. For example,the Distribution Criteria database 210 may specify that no two flaggedlocations may be within a predefined radius of each other, or that agiven area must contain at least x number of flagged locations, or thata given area must contain no more than flagged locations, etc. If thefinal audit fails, the flagging process would either restart or theautomated process would halt requiring human intervention to continue.Conversely, if the final audit succeeds, the automated process willproceed to assigning values 213 to the flagged locations.

Notice that by employing a separate Value Assignment 213 function todetermine what values (including a possible value of zero when no prizeis awarded) are assigned to each flagged location there should be nocorrelation between the actual flagged location and the assignedvalue—i.e., the value and the location are independent of each other.This general embodiment of maintaining isolation between the locationand value assignments provides one methodology to guard againstunexpected correlations or predictability when increasing the number ofdimensions for a pseudorandom prize distribution. Ideally, with thisgeneral embodiment, the Value Assignment 213 function is completelyoblivious to the actual flagged locations or the concept of a locationfor that matter. In a specific embodiment, the Value Assignment 213function receives a string of random numbers from the RNG 211, utilizingthat string to assign values (or no value) to each flagged location withno cognizance of actual absolute or relative locations. In other words,in this embodiment, the Value Assignment 213 function simply assignsvalues to each flagged location in the database based on the RNG 211string it is receiving. Thus, in this specific embodiment, nocorrelation between values and locations should be realized since eachare a byproduct of independent processes.

In another preferred specific embodiment, a string of data from the RNG211 is utilized to drive the Value Assignment 213 function, but in thispreferred embodiment the total number of value slots to be awardedincluding no-value slots for a given 2D/3D Environment 203 arepredefined and initially stored in a one-dimensional array with theValue Assignment 213 utilizing the RNG string to function as a mixer,systematically plucking value (or no value) from each entry in the arrayuntil the entire array is exhausted. With this specific embodiment, theplucking process would be driven by at least one output from the RNG 211with each pseudorandom plucked value ultimately assigned to alocation—i.e., the total number of predefined values in the onedimensional array would typically equal the number of locations to bepopulated. Therefore, with the innovation of a plucking processperforming the Value Assignment 213 function, the one-dimensional valuearray is seamlessly expanded to two or three dimensional locations whileensuring that no correlation between values and locations is observed.This preferred embodiment having the advantage of an exact predefinedprize structure that would also enable forensic audits.

Under some circumstances it may be desirable to place restrictions onthe distribution of outcomes, including: limits on the number of hightier winners per area, how many consecutive adjacent non-winninglocations are present within a predefined range, the maximum number ofnon-winning locations per area, a preponderance of value awarded to DSflagged areas, etc. While these restrictions would obviously reduceentropy (i.e., randomness) of value assignments relative to flaggedlocations, the perceived marketing benefits of partially directed prizelocation awards (e.g., “guaranteed prize in every store”) may exceed theloss of entropy of value allocation per flagged location in terms ofattractiveness. These types of restrictions of outcomes reducing entropyare preferably performed by the separate Audit function 214 that in thisembodiment also receives a candidate 2D/3D environment (including valuesassigned to flagged locations) from the Value Assignment function 213,subsequently modifying the 2D/3D environment to be compliant with thedesired restrictions of the distribution of outcomes in terms of theTerrain database 204. For example, in a preferred specific embodiment,the plucking process attempts to balance the outcome of price payouts toa long term Expected Value (EV) for consumer selection of objects withinthe two or three dimensional environmental model, to ensure that theconsumer EV is maintained over any reasonable object selectiondistribution—e.g., evaluate the distribution of outcomes, include limitson the number of high tier winners per area, assess how many consecutivenon-winning objects may be placed adjacent to each other. This preferredembodiment having the advantages of a more balanced prize distributionfor the consumer, forced heterogeneous value distribution over two orthree or more dimensions, and possibly greater environmental modellongevity with the disadvantages of potentially lesser entropy andsecurity as well as greater complexity.

Once the modification of the 2D/3D environment is completed, thefinalized 2D/3D environment is passed from the Value Assignment function213 to the separate Validation Number Generation function 215.Regardless of whether restrictions on the distribution of outcomes areimplemented for a particular 2D/3D environment or not, the Auditfunction 214 will also perform a separate audit of the candidate 2D/3Denvironment to ensure that flagged locations and associated valueassignments are within specification.

Finally, when the finalized 2D/3D environment is complete and thelocation value assignment Audit 214 is successfully concluded, theseparate Validation Number Generation function 215 will execute tocreate unique validation numbers for every flagged location that areultimately stored in a Validation File database 217. By assigning eachflagged location at least one unique validation number, a separateValidation File database 217 can be generated where validation numbersare linked to assign values without any information being saved in thevalidation file concerning the associated flagged location. When theValidation Number Generation function 215 executes it creates a seriesof unpredictable pseudorandom validation numbers and assigns at leastone validation number from the series to each flagged location. Oncethis assignment process is completed, the link between value andlocation is severed with the assigned values transferred to thevalidation numbers stored in a Validation File database 217 that isseparate from the final generated 2D/3D flagged location model 212 thatcontains flagged locations and associated validation numbers, with thevalues assigned to each flagged location deleted.

Thus, by separately generating validation numbers assigned to eachflagged location with the assigned values transferred to the validationnumber database, the 2D/3D flagged location model becomes completelyindependent of assigned values—i.e., the link between the assignedvalues and the flagged locations in the final 2D/3D Model 212 can onlybe achieved via the validation numbers that are stored in the associatedValidation File database 217. More to the point, the final 2D/3D Model212 only stores each flagged location with a validation number with nosaved reference to any assigned value whatsoever. By first generatingthe flagged locations and assigning values to each flagged locationvarious locational rules and restrictions may be applied that ensurepseudorandom desired prize distribution compliant with a priori rules(e.g., three or more prizes may not be awarded at locations in directproximity of each other, distribution of prizes per capita over physicalgeographies are maintained, prizes are homogeneously distributed overthe model, every DA is awarded a prize) that do not necessarily maximizeentropy; however, at the same time security of the final 2D/3D Model 212can nevertheless be ensured since granting accessing to the model willnot divulge any information about assigned values—i.e., the value of agiven flagged location can only be determined by accessing the linkedValidation File database 217 with the appropriate validation number.

In one embodiment, the Validation File database 217 contains theidentical validation numbers that are saved at every flagged location.This embodiment having the advantage of simplicity with the disadvantageof possibly reduced security. In another preferred embodiment, theValidation File database 217 contains clear text versions of eachvalidation number assigned to each flagged location with the ciphertextversion of the validation number saved in the 2D/3D Model 212 (or viceversa). With this preferred embodiment, the ciphertext validationnumbers would be generated by encryption using the Validation File'sasymmetrical private key or alternatively by encrypting the cleartextvalidation numbers with the asymmetrical private keys assigned to eachflagged location, or the CRC or secure hash of the data contained in theflagged location plus cryptographic salt. In one of these alternativeembodiments, the private keys assigned to each flagged location could bedeleted after the encryption process was completed with theiraccompanying public keys saved in a separate database. In yet anotherembodiment, the validation numbers stored in the validation filedatabase are keyed hashes of the validation numbers stored in the 2D/3Dmodel 212 with the key being a universal key or specific to the 2D/3Dmodel's 212 location (e.g., the latitude/longitude of a given locationplus cryptographic salt). Regardless of the method of encryption or noencryption, it is preferred that a function be established that ensuresthat each validation number in the Validation File database 217 can onlybe accessed or validated once, thereby providing a higher level ofsecurity against nefarious attempts at “pick out.”

As the Validation Number Generation function 215 completes its initialcreation of the validation numbers and transfers the assigned valuesfrom the flagged locations to the Validation File database 217, theAudit 214 function should monitor the Validation Number Generationfunction 215 to abort the process with an error if duplicate validationnumbers are created. Additionally, the Audit 214 function should monitorthe Validation Number Generation function 215 to ensure that thevalidation file and the flagged locations database 212 does not containduplicate validation numbers as well as ensuring that the transfer ofassigned values occurred correctly. Once the Validation NumberGeneration function 215 successfully generates validation numbers,creates a Validation File database 217, and transfers the values fromthe flagged location database to the Validation File database 217 theprocess will terminate with a generated 2D/3D Model 212 and linkedValidation File database 217.

The associated state machine example 220 of FIG. 2B graphically depictsthe various logical states of the embodiment of FIGS. 2A and 2Cprogressing from being in an initial Ready 221 state through thecompletion of a 2D/3D Model 231 and associated Validation file 229 andreturning to a Ready state 232. From its initial Ready state 221, theprocess for assigning flagged locations to a predefined two or threedimensional environmental model progresses to defining a suitable 2D/3DEnvironment 222 as well as an accurate Terrain Map database 223 thatdigitally defines the environment preferably including metadata definingvarious objects (e.g., highways, bodies of water, points of interests).After this occurs, the KOA 224 and DA 225 mapping states ensue byutilizing the information in the Terrain Map database 223 with theresulting composite data (i.e., Terrain Map, KOAs, and DAs) passed on,which starts the Flagging Generation state 226. The Flagging Generationstate 226 consults a Distribution Criteria database 210 (FIG. 2A) andpreferably a RNG 211 to pseudorandomly flag a plurality of locations inthe 2D/3D Model. After the Flagging Generation state 226 completes (FIG.2B), the Value Assignment state 227 commences with each flagged locationassigned a value (including no value). Next, the Validation NumberGeneration state 228 separately generates validation numbers for everyflagged location with a copy of the same or interrelated validationnumbers saved in a separate Validation File database 229. After theValidation File database 229 is created with a copy of the same orinterrelated validation numbers, the Transfer Value 230 state beginswith the previously assigned flagged location values transferred fromthe 2D/3D Model to the Validation File database 229 with all value datadeleted from the 2D/3D model after the transfer is completed. Finally,at this point, the resulting 2D/3D Model 231 and Validation Filedatabase 229 are delivered and the state machine 220 stops 232.

Referring to the swim lane high level architecture diagram 250 of FIG.2C, the process 250 begins, as previously with the flowcharts of FIG. 2Aand the state diagram of FIG. 2B, by defining the 2D/3D EnvironmentSpecification 253 (e.g., Las Vegas strip, the Disney World, thefictional environment in the Game of Thrones) where the layout and(optionally) elevation changes are mapped a priori in a dedicatedTerrain database 254. The 2D/3D Environment Specification 253 anddedicated Terrain database 254 are then used as the foundation data forall subsequent modeling processes. As illustrated in FIG. 2C, the 2D/3DEnvironment Specification 253 and dedicated Terrain database 254 arepreferably embodied in a data source external to both the PreambleServer 255 and the Flagging Server 260 (e.g., Universal Serial Bus or“USB” memory stick, external server, ethernet server, Virtual PrivateNetwork or “VPN”, Compact Disk or “CD”) to allow for ready access from aplurality of individuals and/or organizations to ensure that the 2D/3DEnvironment Specification 253 and dedicated Terrain database 254 areaccurate and current while providing additional security by alsosafeguarding physical isolation from the Preamble Server 255 andespecially the Flagging Server 260. However, under some circumstances itmay be more desirable to house the 2D/3D Environment Specification 253and dedicated Terrain database 254 collocated in the Preamble Server 255and/or possibly the Flagging Server 260.

Preferably, the Preamble Server functionality is conducted on a server255 separate from the Flagging Server 260, similar to the paradigmassociated with the separation of the 2D/3D Environment Specification253 and dedicated Terrain database 254. This separation of the twoservers allows for expanded access while at the same time enhancingsecurity due to the physical and logical segregation of databases. Ofcourse, in some embodiments the Preamble Server 255 and the FlaggingServer 260 may be combined into one physical sever with the advantage ofreduced hardware cost and complexity and the disadvantage of potentiallyreduced access and security.

Regardless of the server(s) configuration, the Preamble Process 252analysis of mapping the KOAs and DAs is conducted with a CentralProcessing Unit (CPU) 258 accessing separate KOA and DA definitiondatabases (256 and 257, respectively) where the actual KOA and DAmapping occurs in local memory 259. The mapping process primarilyconsisting of creating separate files in memory that demarcate KOAs andDAs 259 by referencing regions in the native format of the Terraindatabase 254 (e.g., latitude by longitude, x/y coordinates, x/y/zcoordinates) without altering the Terrain database 254 itself. Once thismapping process is complete, the mapped data KOA and DA files arepreferably transmitted to the Flagging Server 260.

Once the Preamble Process 252 is concluded with the mapped KOAs and DAsidentified, a second Flagging Process server's 260 CPU 262 will flagactual locations in the 2D/3D Environment 253 in conjunction with theKOAs and DAs data received, also as a separate file in memory 261.During this process, the Flagging Server's 260 CPU 262 will preferablyreceive from a hardware RNG 264 (i.e., TRNG) a series of random numberseeds that assist in pseudorandomly determining the flagged locationsthat are mapped to the Terrain database 254, typically in conjunctionwith the defined Distribution Criteria database 263. Preferably, thissame server 260 will subsequently assign values to each flaggedlocation, create the validation numbers, and audit the results 261.Finally, a separate 2D/3D Model 265 and Validation File database 266 arecreated in external non-volatile memory for later use by the AR and/orVR applications.

This is not to infer that both flagged locations and associated assignedvalues all need to be predetermined. In the specific embodiment 275 ofFIG. 2D, the flagged locations are predetermined 276 as previouslydisclosed only now producing just a 2D/3D Model 277 without anycorresponding validation file. This is possible, since value assignmentsin this specific embodiment 275 are executed in real time as eachflagged location is discovered by a consumer with their AR or VR device283. In this specific embodiment 275, the generated predetermined 2D/3DModel 277 is passed to a Real Time Server 278 thereby enabling real timeinteraction by a plurality of consumer devices 283 with the model 277.When a consumer encounters a flagged location 283 in this embodiment275, the Real Time Server 278 queries a separate Value Assignmentfunction 279 to determine the value (including a possible value of zerowhen no prize is awarded) of the encountered flagged location. Ideally,the Value Assignment function 279 resides on a physically separateserver. Once queried, the Value Assignment function 279 ideally consultsan external RNG 280 (i.e., TRNG) to determine the value (including apossible value of zero when no prize is awarded) of the encounteredflagged location with the RNG 280 preferably returning a signedauditable random number that determines the basis for the encounteredflagged location's value. In a preferred embodiment, this RNG 280 valueis then equated to a priori Distribution Criteria 281 where the initialRNG 280 value may be modified or replaced if it is not in compliancewith predetermined distribution rules (e.g., “six positive valueassignments may not occur within a predefined radius”) with the modifiedresults Audited 282 to ensure that the a priori rules are fulfilled.Thus, in the specific embodiment 275, the flagged locations arepredetermined with any value assignments executed in real time.

Of course, as would be apparent to one skilled in the art in view ofthis disclosure, there are other combinations and methods for assigningvalues to predetermined flagged locations that may under somecircumstances be more desirable. For example, in an alternativeembodiment low-tier and mid-tier values may be assigned in apredetermined manner with only high-tier locations undergoing asubsequent real time RNG “drawing” to determine the actual high-tierprize value (if any). This alternative embodiment having the advantageof a possible wider range of high-tier prizes (e.g., a prize insurancecompany may agree to offer a policy that would payout a billion dollarsif the RNG produces an exceptionally unlikely outcome) that would not bepossible with a normal fixed prize fund. In a second alternativeembodiment example, a progressive real time high-tier jackpot systemcould be employed (i.e., a jackpot grand prize or payout which increaseseach time a flagged location is found but the jackpot is not won) wherethe progressive high-tier jackpot is funded via a small portion (e.g.,0.1%) of every lower-tier prize awarded from each located flaggedlocation. In a third exemplary alternative embodiment, predeterminedhigh-tier winning values could be eliminated entirely, with a subsequentreal time RNG “drawing” occurring every time a non-winning flaggedlocation is discovered where the RNG “drawing” may result in a high-tierwinning value. This third exemplary alternative embodiment having theadvantages of a predetermined prize fund as well as higher securitysince no a priori database would exist in the system that couldpotentially disclose the location of a high-tier winning location to anefarious insider.

An example of the 2D/3D Model 265 of the disclosed embodiments of FIGS.2A thru 2D is conceptually illustrated 300 in FIG. 3A. In this example300, a three dimensional pyramid existing as a 3D Model is illustratedfrom three different perspectives 301, 302, and 303. As shown, thepyramid includes an alcove 305, 305′, and 305″ with a virtual present(prize) 304 placed in the alcove 305, 305′, and 305″. Various flaggedlocations (306 thru 311) are shown including a top down (i.e., bird'seye) view of the pyramid 303. As is apparent in this example 300, theonly flagged location that could “see” the present (prize) 304 isflagged location 311 since the alcove 305″ is only on one side of thepyramid and the present (prize) 304 is recessed in the alcove 305″.Thus, in this specific example 300, flagged locations 306 thru 310 wouldhave been assigned validation numbers equating to no value in theValidation File 266 (FIG. 2C) with only flagged location 311 (FIG. 3A)having a validation number with value.

FIGS. 3B thru 3H taken together, provide a general example of theevolution of flagged locations when applied to a predefined threedimensional environmental model of the Las Vegas Strip. As shown in FIG.3B, the three dimensional environmental model 320 of the Las Vegas Stripis limited to the major hotels and attractions in close proximity to theLas Vegas Strip and does not include further outlying locations (e.g.,Downtown Vegas). Even though the environmental model 320 is of limitedgeographical scope, in this example, the planar x/y-axes internalcoordinates of the model would preferably by denoted in units oflatitude and longitude with the elevation (z-axis) as meters or feetabove sea level for compatibility with existing prior art models of theLas Vegas Strip.

FIG. 3C provides an exemplary portion of a KOA database 325 shown in ahuman readable format for demonstrational purposes. As illustrated inFIG. 3C, the KOA database 325 is conceptually divided into four columnswith each row 326 assigned an unique Item number. The MetadataDescription column 327 allows for identifying KOA locations with generictags (e.g., “Body of Water”, “Vegas Strip”) that are identifiable by theenvironmental model 320 (FIG. 3B). Thus, by enabling generic tags in theKOA database 325 (FIG. 3C) associated with the environmental model 320(FIG. 3B), a single KOA entry may be applicable to multiple locations inthe environmental model 320. In addition to generic tags, the MetadataDescription column 327 (FIG. 3C) can also include specific tags (e.g.,“Trump Hotel”, “Circus Circus Hotel”) that are also identifiable in theenvironmental model 320 of FIG. 3B, but only applicable to the specifiedlocation. Also, in FIG. 3C the Metadata Description column 327 caninclude specific locations (e.g., “#Defined Hazard Volcano”) that wouldbe manually defined (denoted in this example with a preamble hashtag “#”to ensure that the simulated natural gas volcano in front of the Miragehotel would always be assigned a KOA location) including its ownspecified Grid Location as listed in column 329. Finally, FIG. 3C alsoincludes a Modified Area column 328 that enables the KOA areas definedin environmental model 320 (FIG. 3B) to be expanded or contracteddepending on the data stored in this column 328 (FIG. 3C) for itsrespective Item number 326.

After applying the KOA database 325 to the environmental model 320 ofFIG. 3B, a modified version of the environmental model 330 that includesKOA locations is then generated as illustrated in FIG. 3D. This KOAmodified environmental model 330 graphically illustrates how the KOAdatabase parameters 325 of FIG. 3C were applied to create environmentalmodel 330 (FIG. 3D). As shown, the KOA generic tag for “Body of Water”was automatically applied to Lake Bellagio 332 and the water features infront of the Mirage Hotel 333 (denoted by black coloring in thisexample). Additionally, the generic tag “Vegas Strip” also caused theentire Las Vegas Strip road along with a one meter parameter or easementto be defined as a KOA location. The specific tags of “Trump Hotel” and“Circus Circus Hotel” caused both properties (334 and 335) to be definedas KOA locations including a ten meter radius surrounding each property.Lastly, in this example, the manually defined Mirage hotel simulatedvolcano with a thirty meter radius surrounding its specified locationwas also identified as a KOA. It should be noted that while the Miragehotel simulated volcano physically borders the Mirage water features amanually defined KOA location was entered to ensure that thispotentially hazardous feature would never become a flagged location.

In the next phase of the environmental model's development the DAlocations are first specified by a DA database (FIG. 3E) and thenapplied to the modified environmental model 330 (FIG. 3D) to add thenewly specified DA locations. As before, FIG. 3E lists the DA database339 in human readable for demonstrational purposes.

As illustrated in FIG. 3E, the DA database 339 is conceptually dividedinto four columns with each row 321 assigned its unique Item number. TheMetadata Description column 322 allows for identifying DA locationsgeneric (not shown in FIG. 3E), specific, and manual (not shown in FIG.3E) tags that are identifiable by the modified environmental model 330of FIG. 3D. In the event of a conflict between KOA and DA locations(where the same location was assigned both a KOA and DA specification)the KOA specification will be adopted with the conflict preferablygenerating an error code. The Modified Area 323 and Grid Location 324columns perform similar functions as previously described for the KOAdatabase 325 of FIG. 3C.

After applying the DA database 339 (FIG. 3E) to the environmental model330 of FIG. 3D, a modified version of the environmental model 340 thatalso includes DA locations is generated as illustrated in FIG. 3F. ThisKOA and DA modified environmental model 340 graphically illustrates howthe KOA database parameters 325 of FIG. 3C and the DA parameters of FIG.3E were applied to create the common modified environmental model 340 ofFIG. 3F. As shown, the newly added DA locations of the Bellagio hotel346, MGM Grand hotel 349, New York New York hotel 348, and the Wynn andEncore 347 hotels were added in separate areas from the previouslydefined KOA locations (332, 333, 334, and 335) thereby creating a secondtier modified environmental model 340 suitable for the flagging process.

The newly generated KOA and DA modified environmental model 340 is thenincorporated by the Flagging Function 209, Value Assignment process 213,and Validation Number Generation process 215 (all of FIG. 2A) to flaglocations in the original three dimensional environmental model 320 ofthe Las Vegas Strip (FIG. 3B) ultimately generating a new flaggedlocation environmental model 350 as shown in FIG. 3G (also shown as 212in FIG. 2A) with an associated validation file 217. This newenvironmental model 350 of FIG. 3G was generated with the KOA and DAdefinitions previously described modifying flagged locations toappropriate areas with the aid of a random or pseudorandom process. Inthe model 350 of FIG. 3G, multiple flags were assigned to each DAlocation (three each in this example), specifically the Bellagio 351,MGM Grand 353, New York New York 352, and Wynn and Encore 354 hotelswith other single flagged locations also created (i.e., the Rio 326,Mandalay Bay 357, Hooter's 358, and Stratosphere 355 hotels). However,no flagged locations were assigned to any of the KOA locations (332′thru 335′). Once the flagged locations are determined, a separate ValueAssignment process 213 (FIG. 2A) randomly or pseudorandomly distributesvalue or prizes throughout the flagged locations in accordance with anyspecified Distribution Criteria 210. After the prize assignments and theflagged locations are optionally audited 214 a separate ValidationNumber Generator 215 assigns validation numbers to each flagged locationwith a ciphertext embodiment of the assigned validation numbers saved inthe newly constructed flagged 3D Model 212 (also show as the exampleembodiment 350 of FIG. 3G) and associated Validation File 217 (FIG. 2A).

FIG. 3H illustrates a conceptual view 375 of the exemplary embodiment ofFIG. 3G assigned validation numbers both as ciphertext 378 (FIG. 3H) andcleartext 378′ (stored in the validation file denoted by a shaded grayarea). As before, in the FIG. 3H conceptual view 375, the listings areshown in a human readable format with each row depicting a differentflagged location 376. In this example, the Metadata Description column377 is superfluous from a machine processing perspective and is includedfor human illustrative purposes only. Both the ciphertext 378 (saved ateach flagged location) and the cleartext 378′ (saved in the validationfile) versions are listed in this example as 32-bit hexadecimal numbersdenoted by the sixteen subscript “₁₆”. Thus, in this example, while eachflagged location does include a ciphertext 378 version of the validationnumber its link to the associated cleartext version (where the prizevalue, if any, is also listed) is not apparent to a nefarious insiderunless the nefarious insider also has access to the decryption key.

Finally, while the previous embodiments disclosed two and threedimensional models, it should not be construed that the invention islimited to only two or three dimensions. For example, a four dimensionalAR and/or VR environmental model may be desirable that includes threespecial dimensions with a fourth dimension being a function oftime—i.e., the flagged locations and/or assigned values change locationsin the three dimensional space periodically.

It should be appreciated by those skilled in the art in view of thisdescription that various modifications and variations may be madepresent invention without departing from the scope and spirit of thepresent invention. It is intended that the present invention includesuch modifications and variations as come within the scope of theappended claims.

What is claimed is:
 1. A method of automatically assigning flaggedlocations in a higher dimensional environmental model that arepotentially discoverable when encountered by one or more of AugmentedReality (AR) or Virtual Reality (VR) devices and assigning value to eachflagged location which is revealed when the one or more AR or VR devicesencounters a flagged location, the method comprising: (a) maintaining aterrain database that is comprised of a higher dimensional map ofportions of the environmental model that: (i) establishes the total areaof the higher dimensional environmental model, and (ii) includesmetadata describing significant items present in the higher dimensionalenvironmental model; (b) maintaining Keep Out Area (KOA) and DesirableArea (DA) databases of rules or definitions describing specific areas tobe defined around metadata identified significant items in the terraindatabase; (c) mapping pluralities of KOAs and DAs based on the rules ordefinitions describing specific areas around the metadata identifiedsignificant items and storing the mapped KOAs and DAs in at least onefile; (d) generating flagged locations in a file utilizing input from(i) a first Random Number Generator (RNG), (ii) the mapped KOA and DAfiles, and (iii) a separate distribution criteria database; (e)assigning a value to each flagged location with a function separate fromthe flagged location generation; and (f) generating a higher dimensionalenvironmental model independent of the terrain database that contains atleast the flagged locations with the assigned values for use by the oneor more AR or VR devices.
 2. The method of claim 1 further comprising:(g) auditing the flagged location file to ensure that (i) no generatedflagged location resides in a KOA, (ii) minimum DA requirements arefulfilled, and (iii) the distribution criteria database rules arefulfilled, wherein the higher dimensional environmental model containsthe audited flagged locations for use by the one or more AR or VRdevices
 3. The method of claim 1 wherein the value assigning occurs inreal time when a specific flagged location is encountered by the one ormore AR or VR device.
 4. The method of claim 3 wherein the real timevalue assigning is executed via input from a second RNG returning asigned auditable random number that determines the encountered flaggedlocation's value.
 5. The method of claim 1 wherein step (e) furthercomprises: (i) assigning values to each flagged location in the flaggedlocation file; (ii) assigning unique validation numbers to each flaggedlocation in the flagged location file; (iii) creating a validation filewith separate validation numbers linked to the unique validation numbersassigned to each flagged location in the flagged location file; and (iv)copying the assigned values from the flagged location file to thevalidation file and deleting the assigned values from the flaggedlocation file.
 6. The method of claim 5 wherein the validation numbersstored in the validation file are identical to the validation numbersstored in the flagged location file.
 7. The method of claim 5 whereinthe validation numbers stored in the validation file are a cleartextversion with the flagged location file storing associated encryptedciphertext validation numbers.
 8. The method of claim 7 wherein thecleartext validation file validation numbers are encrypted with aprivate asymmetrical key assigned to each flagged location and thenstored in the flagged location.
 9. The method of claim 5 wherein thevalidation file validation numbers are keyed hashes of the cleartextvalidation numbers stored in the flagged location file.
 10. The methodof claim 1 wherein the higher dimensional environmental model istwo-dimensional.
 11. The method of claim 1 wherein the higherdimensional environmental model is three-dimensional.